Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码!

您所在的位置:网站首页 spring Boot 集成jwt Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码!

Spring Boot +JWT +MybatisPlus,使用Token登录详细教程,附源码!

2024-07-12 14:57| 来源: 网络整理| 查看: 265

一、新建Spring Boot项目 1.File→New→Module 在这里插入图片描述 2.点击下一步在这里插入图片描述 3.写完这些,点击下一步在这里插入图片描述 4.选择插件 在这里插入图片描述 5.选择项目地址,选择完成后点击Finish 在这里插入图片描述 二 1…创建完成后,修改pom.xml文件,添加以下依赖

com.baomidou mybatis-plus-boot-starter 3.2.0 org.apache.commons commons-lang3 3.5 com.alibaba fastjson 1.2.45 com.auth0 java-jwt 3.8.3 org.springframework.boot spring-boot-starter-tomcat provided io.jsonwebtoken jjwt 0.9.1

2.修改配置文件application.properties名称为application.yml,并创建新文件application-dev.yml 在这里插入图片描述 3.application.yml配置

spring: profiles: active: dev

4.application-dev.yml配置

server: port: 9099 spring: application: name: demo datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://127.0.0.1:3306/service_data?characterEncoding=utf-8&userUnicode=true&serverTimezone=Asia/Shanghai&useSSL=false username: root password: root hikari: minimum-idle: 3 maximum-pool-size: 5 max-lifetime: 0 jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss default-property-inclusion: non_null servlet: multipart: max-file-size: 1024MB max-request-size: 2048MB #thymeleaf的配置 thymeleaf: cache: false enabled: true #配置mybatisplus mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml global-config: db-config: id-type: auto configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

5.在Navicat中执行sql脚本

*/ SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for user_kmmy -- ---------------------------- DROP TABLE IF EXISTS `user_kmmy`; CREATE TABLE `user_kmmy` ( `userid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID 绝对唯一', `email` varchar(30) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '' COMMENT '用户邮箱', `phone` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户手机', `usertype` int(10) NOT NULL DEFAULT 0 COMMENT '用户权限类型:0普通,1管理员', `subuser` tinyint(2) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否有子账户', `uname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户名', `passwd` char(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '密码', `isactive` tinyint(1) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否激活', `salt` char(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '加密盐值', `head_img` varchar(60) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '' COMMENT '用户头像', `locked` tinyint(2) NOT NULL DEFAULT 0 COMMENT '禁用账号 : 0 正常 , 1 禁用', `create_time` timestamp(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '账号创建时间', `last_login_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '用户最后登陆时间', `update_time` timestamp(0) NULL DEFAULT CURRENT_TIMESTAMP COMMENT '管理员更新用户状态的时间', PRIMARY KEY (`userid`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户表' ROW_FORMAT = Dynamic; -- ---------------------------- -- Records of user_kmmy -- ---------------------------- INSERT INTO `user_kmmy` VALUES (10, '', '', 0, 0, '用户Root', '54725db42d08af904bb26647bc2b892f', 0, '2d793d799d5f4e3f9eafa9522f6b4fb2', '/images/defaultUserTitle.jpg', 0, '2020-06-05 13:43:52', '2020-06-05 13:43:52', '2020-06-05 13:43:52', NULL, NULL); SET FOREIGN_KEY_CHECKS = 1;

6.修改主启动类,在主启动类上加上@MapperScan注解,后面跟自己的项目组名

@MapperScan(basePackages = {"com.kmmy.app*.mapper"})

三、 1.新建common包 包下创建工具类 在这里插入图片描述 MD5Utils

/** * @author zsj * 2019-08-20 */ public class MD5Utils { /** * 使用md5的算法进行加密 */ public static String md5(String plainText) { byte[] secretBytes = null; try { secretBytes = MessageDigest.getInstance("md5").digest( plainText.getBytes()); } catch (NoSuchAlgorithmException e) { throw new RuntimeException("没有md5这个算法!"); } // 16进制数字 String md5code = new BigInteger(1, secretBytes).toString(16); // 如果生成数字未满32位,需要前面补0 for (int i = 0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3